Optically encoded information, such as bar codes, have become quite common. A bar code symbol consists of a series of light and dark regions, typically in the form of rectangles. The widths of the dark regions, the bars, and/or the widths of the light spaces between the bars indicates the encoded information. A specified number and arrangement of these elements represents a character. Standardized encoding schemes specify the arrangements for each character, the acceptable widths and spacings of the elements the number of characters a symbol may contain or whether symbol length is variable, etc.
To decode a bar code symbol and extract a legitimate message, a bar code reader scans the symbol to produce an analog electrical signal representative of the scanned symbol. A variety of scanning devices are known. The scanner could be a wand type reader including an emitter and a detector fixedly mounted in the wand, in which case the user manually moves the wand across the symbol. As the wand passes over the bar code, the emitter and associated optics produce a light spot which impacts on the code, and the detector senses the light reflected back from the light spot passing over each symbol of the code. Alternatively, an optical moving spot scanner scans a light beam, such as a laser beam, across the symbol; and a detector senses reflected light from the beam spot scanned across the symbol. In each case, the detector produces the analog scan signal representing the encoded information.
A digitizer processes the analog signal to produce a pulse signal where the widths and spacings between the pulses correspond to the widths of the bars and the spacings between the bars. The pulse signal from the digitizer is applied to a decoder which first determines the pulse widths and spacings of the signal from the digitizer. The decoder then analyzes the widths and spacings to find and decode a legitimate bar code message. This includes analysis to recognize legitimate characters and sequences, as defined by the appropriate code standard.
Problems arise from association of the optical reader with other devices connected to a common computer system. In actual use, the device for reading optically encoded information typically connects to some form of computer. Often a need exists for entry of other data, in addition to that scanned by the optical reader. For example, in an inventory system using bar code readers the operator scans an item and then enters the quantity of such items presently in stock. Consequently, in most systems using optical readers of the type discussed above, the system will include additional data entry devices coupled to the same computer. Separate data entry devices, however, are often inconvenient to carry along in conjunction with a portable optical reading device. Also, the use of multiple data input devices requires use of several of the option card slots of the computer and additional physical wiring connections. Furthermore, multiple input devices often create software problems directing the multiple data input streams to a single application program running on the computer.
A number of other types of data entry devices are known, and in many applications provide more convenient or "user friendly" data entry operation than do keyboards and alphanumeric displays. For example, a mouse allows a computer operator to move a cursor to point at an option illustrated on a display screen. The operator then "clicks" a button on the mouse to select the particular option. The mouse can also provide graphics data input. U.S. Pat. No. 4,906,843 to Jones et al. discloses a combination mouse and optical scanner, but the optical scanner scans characters or graphics data, not optically encoded information such as bar codes. The user manually scans characters by moving the mouse across the surface on which the characters appear.
From the above discussion it should be clear that a need still exists to further develop various computer input devices integrated with means to scan optically encoded indicia which also provide convenient operation.